.\"   $Id: applybddnodelist.3,v 1.1 2002/03/18 11:26:50 ludo Exp $
.\" @(#)applybddnodelist.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
.TH APPLYBDDNODELIST 3 "October 1, 1997" "ASIM/LIP6" "BDD FUNCTIONS"
.SH NAME
applybddnodelist \- applies an opertor to a \fBbdd\fP nodes list.
.so man1/alc_origin.1
.SH SYNOPSIS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "bdd101.h"
bddnode \(**applybddnodelist( BddSystem, Oper, BddList )
  bddsystem  \(**BddSystem;
  long        Oper;
  chain_list \(**BddList;
.ft R
.fi
.SH PARAMETERS
.TP 20
\fIBddSystem\fP
The \fBbdd\fP system.
.TP
\fIOper\fP
The operator.
.TP
\fIBddList\fP
The \fBbdd\fP nodes list.
.SH DESCRIPTION
\fBapplybddnodelist\fP applies the boolean operator \fIOper\fP to the
\fBbdd\fP nodes list \fIBddList\fP in the \fBbdd\fP system \fIBddSystem\fP.
If a null pointer is given, the default \fBbdd\fP system is used.
.br
.SH RETURN VALUE
\fBapplybddnodelist\fP returns a pointer to the resulting \fBbdd\fP node
with its number of external reference incremented.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"bad operator xxx error !"
.ft R
.RS
The \fIOper\fP parameter must be a valid binary operator.
.RE
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"bad list !"
.ft R
.RS
The \fIBddList\fP parameter must be a valid list.
.RE
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "bdd101.h"
   bddsystem  \(**BddSystem;
   bddcircuit \(**BddCircuit;
   bddnode    \(**BddNode;
   chain_list \(**BddList;
   chain_list \(**Expr;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   BddList    = (chain_list \(**)0;
   BddList = addbddnodelist( (bddsystem \(**)0, BddList, 
                             addbddcircuitin( (bddcircuit \(**)0,
                                              "i0", 0, BDD_IN_MODE_FIRST ) );
   BddList = addbddnodelist( (bddsystem \(**)0, BddList, 
                              addbddcircuitin( (bddcircuit \(**)0,
                                               "i1", 0, BDD_IN_MODE_FIRST );
   BddList = addbddnodelist( (bddsystem \(**)0, BddList,
                             addbddcircuitin( (bddcircuit \(**)0,
                                              "i2", 0, BDD_IN_MODE_FIRST );
   BddNode = applybddnodelist( (bddsystem \(**)0, ABL_AND, BddList );
   Expr = convertbddcircuitabl( (bddcircuit \(**)0, BddNode );
   /* displays (i0 and i1 and i2) */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem \(**)0 );
   destroybddcircuit( (bddcircuit \(**)0 );
.ft R
.fi
.SH SEE ALSO
.BR bdd (1)


.so man1/alc_bug_report.1

